﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using IDAO;
using MomoCMS.Domain;
using MomoCMS.Core.common;
using DAO.Hibernate.common;
using MomoCMS.IDAO;
 

namespace MomoCMS.DAO
{
    /// <summary>
    /// 数据访问(数据仓储)对象  
    /// DAO为系统的数据访问层。专管数据存取，其代码特征是一般不会含有条件判断语句。
    /// 系统使用NHibernate充当ORM工具，故所有和Hibernate有关的特性(API)都集中到这层，
    /// 不允许Service层依赖Hibernate代码以及包含HQL语句。
    /// </summary>
    public partial class DocumentDao : IDocumentDao
    {
        // Nhibernate 会话支持
        public NHibernate.ISessionFactory SessionFactory { get; set; }

        public IList<Document> GetAll() {
            NHibernate.ISession session = this.SessionFactory.GetCurrentSession();

            //var query = session.Query<MomoCMS.Domain.Document>();
            IList<Document> documentList = session.CreateQuery("from Document").List<Document>();



            return documentList;
        }

        public void Save(Document doc) {
            NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
            session.Save(doc);
        }
    }
}
